package com.esp.model.identifiables;

import java.math.BigDecimal;
import java.util.Calendar;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.GenericGenerator;

@Entity
@Table(name="ITEM")
public class IdentifiableItem implements Identifiable {
	
	@Id
    @GenericGenerator(name = "generator", strategy = "increment")
    @GeneratedValue(generator = "generator")
	@Column(name="ITEM_ID")
	private Long id;
	
	@Column(name="MID")
	private Long mid;
	
	@Column(name="MERCHANT_NAME")
	private String merchantname;
	
	@Column(name="LINK_ID")
	private Long linkid;
	
	@Column(name="CREATED_ON")
	@Temporal(TemporalType.TIMESTAMP)
	private Calendar createdOn;

	@Column(name="SKU")
	private Long sku;
	
	@Column(name="PRODUCT_NAME")
	private String productname;
	
	@Column(name="PRIMARY_CATEGORY")
	private String primaryCategory;
	
	@Column(name="SECONDARY_CATEGORY")
	private String secondaryCategory;
	
	@Column(name="CURRENCY")
	private String currency;
	
	@Column(name="PRICE")
	private BigDecimal itemPrice;
	
	@Column(name="UPC_CODE")
	private String upccode;
	
	@Column(name="SHORT_DESCRIPTION")
	private String shortDescription;
	
	@Column(name="LONG_DESCRIPTION")
	private String longDescription;
	
	@Column(name="KEYWORDS")
	private String keywords;
	
	@Column(name="LINK_URL")
	private String linkurl;
	
	@Column(name="IMAGE_URL")
	private String imageurl;

	public void setSku(Long sku) {
		this.sku = sku;
	}

	public Long getSku() {
		return sku;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getId() {
		return id;
	}

	public void setMid(Long mid) {
		this.mid = mid;
	}

	public Long getMid() {
		return mid;
	}

	public void setMerchantname(String merchantname) {
		this.merchantname = merchantname;
	}

	public String getMerchantname() {
		return merchantname;
	}

	public void setLinkid(Long linkid) {
		this.linkid = linkid;
	}

	public Long getLinkid() {
		return linkid;
	}

	public void setCreatedOn(Calendar createdOn) {
		this.createdOn = createdOn;
	}

	public Calendar getCreatedOn() {
		return createdOn;
	}

	public void setProductname(String productname) {
		this.productname = productname;
	}

	public String getProductname() {
		return productname;
	}

	public void setPrimaryCategory(String primaryCategory) {
		this.primaryCategory = primaryCategory;
	}

	public String getPrimaryCategory() {
		return primaryCategory;
	}

	public void setSecondaryCategory(String secondaryCategory) {
		this.secondaryCategory = secondaryCategory;
	}

	public String getSecondaryCategory() {
		return secondaryCategory;
	}

	public void setCurrency(String currency) {
		this.currency = currency;
	}

	public String getCurrency() {
		return currency;
	}

	public void setItemPrice(BigDecimal itemPrice) {
		this.itemPrice = itemPrice;
	}

	public BigDecimal getItemPrice() {
		return itemPrice;
	}

	public void setUpccode(String upccode) {
		this.upccode = upccode;
	}

	public String getUpccode() {
		return upccode;
	}

	public void setShortDescription(String shortDescription) {
		this.shortDescription = shortDescription;
	}

	public String getShortDescription() {
		return shortDescription;
	}

	public void setLongDescription(String longDescription) {
		this.longDescription = longDescription;
	}

	public String getLongDescription() {
		return longDescription;
	}

	public void setKeywords(String keywords) {
		this.keywords = keywords;
	}

	public String getKeywords() {
		return keywords;
	}

	public void setLinkurl(String linkurl) {
		this.linkurl = linkurl;
	}

	public String getLinkurl() {
		return linkurl;
	}

	public void setImageurl(String imageurl) {
		this.imageurl = imageurl;
	}

	public String getImageurl() {
		return imageurl;
	}
}
